package chatserver.netio;

import chatserver.tools.ChatException;




public class ClientAttr extends Attr {

    public ClientAttr() {
    }

    public ClientAttr(byte byte0) {
        super(byte0);
    }

    public ClientAttr(byte byte0, byte abyte0[]) {
        super(byte0, abyte0);
    }

    public ClientAttr(byte byte0, byte byte1)
            throws ChatException {
        super(byte0, byte1);
    }

    public ClientAttr(byte byte0, int i)
            throws ChatException {
        super(byte0, i);
    }

    public ClientAttr(byte byte0, String s)
            throws ChatException {
        super(byte0, s);
    }

    public static Attr getProto() {
        return proto;
    }

    @Override
    public Object clone() {
        return new ClientAttr(getId(), getValue());
    }

    @Override
    int getType() {
        return getId() >= types.length ? 1 : types[getId()];
    }

    @Override
    String[] getNames() {
        return names;
    }
    public static ClientAttr proto = new ClientAttr();
    public static final byte NUL = 0;
    public static final byte NICKNAME = 1;
    public static final byte TARGETNAME = 2;
    public static final byte NOTE_ME = 3;
    public static final byte NOTE_TEXT = 4;
    public static final byte CHANNELNAME = 12;
    public static final byte USERINFO = 13;
    public static final byte BAN_IPNET = 14;
    public static final byte BAN_IPSIZE = 15;
    public static final byte VARNAME = 18;
    public static final byte VARVALUE = 19;
    public static final byte IP = 20;
    public static final byte PERMS = 21;
    public static final byte MEMBERCOUNT = 22;
    public static final byte CHANNELINFO = 23;
    public static final byte NOTE_FORMAT = 24;
    public static final byte NOTE_FORMATCLOSE = 25;
    public static final byte QUEUE_SEQNR = 26;
    public static final byte QUEUE_CURRENT = 27;
    public static final byte ALIAS = 28;
    public static final byte COMMAND = 29;
    public static final byte CONNECTTIME = 30;
    public static final byte IDLETIME = 31;
    public static final byte PROXY_IP = 32;
    public static final byte MEMBERINFO = 33;
    public static final byte PASSWORD = 34;
    public static final byte INDEX = 35;
    public static final byte PROXYINFO = 36;
    public static final byte CHATBOXINFO = 37;
    public static final byte PERSISTENT = 38;
    public static final byte CHATTERCOUNT = 39;
    public static final byte MAXRESULTS = 40;
    public static final byte BAN_BANNER = 41;
    public static final byte BAN_TIMELEFT = 42;
    public static final byte PROFILE = 43;
    public static final byte DIGEST = 44;
    public static final byte DIGEST_TIME = 45;
    public static final byte DIGEST_SALT = 46;
    public static final byte CHALLENGE = 47;
    public static final byte CREATORNAME = 48;
    public static final byte CHANNELTYPE = 49;
    public static final byte IDENT = 50;
    public static final byte ACTORPROFILE = 51;
    public static final byte AUTOPERIOD = 52;
    public static final byte AUTOMAX = 53;
    public static final byte EXEC = 54;
    public static final byte LOG_TIME = 55;
    public static final byte LOG_EVENT = 56;
    public static final byte TRACKID = 57;
    public static final byte TRACKINFO = 58;
    static final String names[] = {
        "NUL", "NICKNAME", "TARGETNAME", "NOTE_ME", "NOTE_TEXT", "5", "6", "7", "8", "9",
        "10", "11", "CHANNELNAME", "USERINFO", "BAN_IPNET", "BAN_IPSIZE", "16", "17", "VARNAME", "VARVALUE",
        "IP", "PERMS", "MEMBERCOUNT", "CHANNELINFO", "NOTE_FORMAT", "NOTE_FORMATCLOSE", "QUEUE_SEQNR", "QUEUE_CURRENT", "ALIAS", "COMMAND",
        "CONNECTTIME", "IDLETIME", "PROXY_IP", "MEMBERINFO", "PASSWORD", "INDEX", "PROXYINFO", "CHATBOXINFO", "PERSISTENT", "CHATTERCOUNT",
        "MAXRESULTS", "BAN_BANNER", "BAN_TIMELEFT", "PROFILE", "DIGEST", "DIGEST_TIME", "DIGEST_SALT", "CHALLENGE", "CREATORNAME", "CHANNELTYPE",
        "IDENT", "ACTORPROFILE", "AUTOPERIOD", "AUTOMAX", "EXEC", "LOG_TIME", "LOG_EVENT", "TRACKID", "TRACKINFO"
    };
    static final int types[] = {
        0, 1, 1, 0, 1, 0, 0, 0, 0, 0,
        0, 0, 1, 1, 3, 2, 0, 0, 1, 1,
        3, 0, 2, 1, 1, 1, 2, 2, 1, 0,
        4, 4, 3, 1, 1, 1, 1, 1, 2, 2,
        2, 1, 4, 1, 0, 5, 1, 1, 1, 1,
        1, 1, 4, 2, 1, 5, 0, 1, 1
    };
}
